﻿namespace DomainServices.Tools.Pdb.SymStore
{
    using System;
    using System.Diagnostics.SymbolStore;
    using System.Runtime.InteropServices;
    using System.Runtime.InteropServices.ComTypes;

    [ComVisible(false)]
    internal interface ISymbolReader2 : ISymbolReader, IDisposable
    {
        int GetDocumentVersion(ISymbolDocument document, out bool isCurrent);
        ISymbolMethod[] GetMethodsFromDocumentPosition(ISymbolDocument document, int line, int column);
        int GetMethodVersion(ISymbolMethod method);
        string GetSymbolStoreFileName();
        void Initialize(object importer, string filename, string searchPath, IStream stream);
        void ReplaceSymbolStore(string fileName, IStream stream);
        void UpdateSymbolStore(string fileName, IStream stream);
    }
}

